import gmpy2
import libnum
import uuid

flag = "flag{" + str(uuid.uuid4()) + "}"
print(flag)
m = libnum.s2n(flag)
p = libnum.generate_prime(256)
q = libnum.generate_prime(256)
e = 65537
n = p * q
phi = (p - 1) * (q - 1)
d = gmpy2.invert(e, phi)
print("d=", d)
dp = d % (p - 1)
dq = d % (q - 1)
c = pow(m, e, n)

print("p=", p)
print("q=", q)
print("c=", c)
print("dp=", dp)
print("dq=", dq)
p= 66022425315494991516564107538407542464284200474188633364582529310466752373021
q= 78434349190364743659918273037898176850144567687895509484525648982648638670603
c= 440169704131980623446021984068790355412673051366372256241551031038017867863202532295959312975862492658197215583835479638558911043801970189957333340838867
dp= 11616408842531283811854383386871192946818760633960497601766958290415980615733
dq= 73454485495335863815419441322825861762889253191514332211151658329783829699969

